﻿using System;
using System.Collections.Generic;
using System.Text;

namespace IllustratedCsharp7_ch20_Linq
{
    class Other
    {
        static public string Name = "Mary Jones";
    }
    /*匿名类型的重要事项如下
       匿名类型只能用于局部变量，不能用于类成员
       由于匿名类型没有名字，我们必须使用var 关键字作为变量类型
       不能设置匿名类型对象的属性。编译器为匿名类型创建的属性是只读的
       匿名类型以常用于LINQ查询的结果之中。
     */
    class Chapt20_2AnonymousType
    {
        static void _Main()
        {
           
            string Major = "History";
            //Age = 19 为赋值形式，Other.Name为成员访问，Major为标识符
            var student = new { Age = 19, Other.Name, Major };

          
            Console.WriteLine($"{student.Name},Age {student.Age},Major:{student.Major}");

            int Age = 19;
            //赋值形式
            var student2 = new { Age = Age, Name = Other.Name, Major = Major };
            Console.WriteLine($"{student2.Name},Age {student2.Age},Major:{student2.Major}");
        }
    }
}
